package cn.doitedu.day04

/**
 * 在scala中，如果没有继承类，而是直接实现特质，必须使用extends关键字
 */
class Pig extends Flyable {
  override def fly(): Unit = {
    println("飞猪！")
  }
}

object Pig {

  def main(args: Array[String]): Unit = {

    val p = new Pig
    p.fly()

    //scala还有一个特点，动态实现特质，定义类的时候没有实现特质，但是new的使用可以实现指定的一到多个特质
    val p2 = new Pig with Fightable

    p2.fight()

    //动态实现特质，并且可以重写方法
    val p3 = new Pig with Fightable {
      override def fight(): Unit = {
        println("用耙子打你哦")
      }
    }

    p3.fight()






  }


}
